package com.ruoyi.emergencyplan.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 盘点记录对象 material_inventory_record
 * 
 * @author hcc
 * @date 2023-12-17
 */
public class MaterialInventoryRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 盘点日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "盘点日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inventoryDate;

    /** 物资ID */
    @Excel(name = "物资ID")
    private String materialId;

    /** 物资名称 */
    @Excel(name = "物资名称")
    private String materialName;

    /** 物资编号 */
    @Excel(name = "物资编号")
    private String materialCode;

    /** 物资分类ID */
    @Excel(name = "物资分类ID")
    private String categoryId;

    /** 物资分类编号 */
    @Excel(name = "物资分类编号")
    private String categoryCode;

    /** 物资分类名称 */
    @Excel(name = "物资分类名称")
    private String categoryName;

    /** 盘点数量 */
    @Excel(name = "盘点数量")
    private BigDecimal inventoryNum;

    /** 上次盘点日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上次盘点日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastInventoryDate;

    /** 上次盘点数量 */
    @Excel(name = "上次盘点数量")
    private BigDecimal lastInventoryNum;

    /** 创建人姓名 */
    @Excel(name = "创建人姓名")
    private String createByName;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createAt;

    /** 更新人姓名 */
    @Excel(name = "更新人姓名")
    private String updateByName;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateAt;

    /** 版本 */
    @Excel(name = "版本")
    private String version;

    /** 状态 */
    @Excel(name = "状态")
    private Integer status;

    /** 扩展字段1 */
    @Excel(name = "扩展字段1")
    private String extra1;

    /** 扩展字段2 */
    @Excel(name = "扩展字段2")
    private String extra2;

    /** 扩展字段3 */
    @Excel(name = "扩展字段3")
    private String extra3;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setInventoryDate(Date inventoryDate) 
    {
        this.inventoryDate = inventoryDate;
    }

    public Date getInventoryDate() 
    {
        return inventoryDate;
    }
    public void setMaterialId(String materialId) 
    {
        this.materialId = materialId;
    }

    public String getMaterialId() 
    {
        return materialId;
    }
    public void setMaterialName(String materialName) 
    {
        this.materialName = materialName;
    }

    public String getMaterialName() 
    {
        return materialName;
    }
    public void setMaterialCode(String materialCode) 
    {
        this.materialCode = materialCode;
    }

    public String getMaterialCode() 
    {
        return materialCode;
    }
    public void setCategoryId(String categoryId) 
    {
        this.categoryId = categoryId;
    }

    public String getCategoryId() 
    {
        return categoryId;
    }
    public void setCategoryCode(String categoryCode) 
    {
        this.categoryCode = categoryCode;
    }

    public String getCategoryCode() 
    {
        return categoryCode;
    }
    public void setCategoryName(String categoryName) 
    {
        this.categoryName = categoryName;
    }

    public String getCategoryName() 
    {
        return categoryName;
    }
    public void setInventoryNum(BigDecimal inventoryNum) 
    {
        this.inventoryNum = inventoryNum;
    }

    public BigDecimal getInventoryNum() 
    {
        return inventoryNum;
    }
    public void setLastInventoryDate(Date lastInventoryDate) 
    {
        this.lastInventoryDate = lastInventoryDate;
    }

    public Date getLastInventoryDate() 
    {
        return lastInventoryDate;
    }
    public void setLastInventoryNum(BigDecimal lastInventoryNum) 
    {
        this.lastInventoryNum = lastInventoryNum;
    }

    public BigDecimal getLastInventoryNum() 
    {
        return lastInventoryNum;
    }
    public void setCreateByName(String createByName) 
    {
        this.createByName = createByName;
    }

    public String getCreateByName() 
    {
        return createByName;
    }
    public void setCreateAt(Date createAt) 
    {
        this.createAt = createAt;
    }

    public Date getCreateAt() 
    {
        return createAt;
    }
    public void setUpdateByName(String updateByName) 
    {
        this.updateByName = updateByName;
    }

    public String getUpdateByName() 
    {
        return updateByName;
    }
    public void setUpdateAt(Date updateAt) 
    {
        this.updateAt = updateAt;
    }

    public Date getUpdateAt() 
    {
        return updateAt;
    }
    public void setVersion(String version) 
    {
        this.version = version;
    }

    public String getVersion() 
    {
        return version;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setExtra1(String extra1) 
    {
        this.extra1 = extra1;
    }

    public String getExtra1() 
    {
        return extra1;
    }
    public void setExtra2(String extra2) 
    {
        this.extra2 = extra2;
    }

    public String getExtra2() 
    {
        return extra2;
    }
    public void setExtra3(String extra3) 
    {
        this.extra3 = extra3;
    }

    public String getExtra3() 
    {
        return extra3;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("inventoryDate", getInventoryDate())
            .append("materialId", getMaterialId())
            .append("materialName", getMaterialName())
            .append("materialCode", getMaterialCode())
            .append("categoryId", getCategoryId())
            .append("categoryCode", getCategoryCode())
            .append("categoryName", getCategoryName())
            .append("inventoryNum", getInventoryNum())
            .append("lastInventoryDate", getLastInventoryDate())
            .append("lastInventoryNum", getLastInventoryNum())
            .append("createBy", getCreateBy())
            .append("createByName", getCreateByName())
            .append("createAt", getCreateAt())
            .append("updateBy", getUpdateBy())
            .append("updateByName", getUpdateByName())
            .append("updateAt", getUpdateAt())
            .append("version", getVersion())
            .append("status", getStatus())
            .append("extra1", getExtra1())
            .append("extra2", getExtra2())
            .append("extra3", getExtra3())
            .toString();
    }
}
